package com.ruoyi.cbs.project.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 项目安全交底报告对象 cbs_project_safety_briefing
 * 
 * @author ruoyi
 * @date 2025-11-12
 */
public class ProjectSafetyBriefing extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 安全交底主键 */
    @JsonSerialize(using = ToStringSerializer.class)
    private Long id;

    /** 项目id */
    @Excel(name = "项目id")
    @JsonSerialize(using = ToStringSerializer.class)
    private Long projectId;

    /** 项目名称 */
    @Excel(name = "项目名称")
    private String projectName;

    /** 安全交底编号 */
    @Excel(name = "安全交底编号")
    private String safetyNo;

    /** 安全交底名称 */
    @Excel(name = "安全交底名称")
    private String safetyName;

    /** 承包商ID(施工单位) */
    @Excel(name = "承包商ID(施工单位)")
    @JsonSerialize(using = ToStringSerializer.class)
    private Long contractorId;

    /** 承包商名称(施工单位) */
    @Excel(name = "承包商名称(施工单位)")
    private String contractorName;

    /** 承包商负责人(施工单位) */
    @Excel(name = "承包商负责人(施工单位)")
    private String contractorLeader;

    /** 业主单位名称(建设单位) */
    @Excel(name = "业主单位名称(建设单位)")
    private String ownerName;

    /** 建设(业主)单位负责人 */
    @Excel(name = "建设(业主)单位负责人")
    private String ownerLeader;

    /** 交底内容 */
    @Excel(name = "交底内容")
    private String content;

    /** 交底人ID(内部人员ID,一般项目负责人) */
    @Excel(name = "交底人ID(内部人员ID,一般项目负责人)")
    @JsonSerialize(using = ToStringSerializer.class)
    private Long signUserId;

    /** 状态: 0待签 1已签 */
    @Excel(name = "状态: 0待签 1已签")
    private String signStatus;

    /** 签字文件 */
    @Excel(name = "签字文件")
    private String signFile;

    /** 交底人签字时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "交底人签字时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date signTime;

    /** 被交底人ID(承包商人员ID) */
    @Excel(name = "被交底人ID(承包商人员ID)")
    @JsonSerialize(using = ToStringSerializer.class)
    private Long signedUserId;

    /** 状态: 0待签 1已签 */
    @Excel(name = "状态: 0待签 1已签")
    private String signedStatus;

    /** 签字文件 */
    @Excel(name = "签字文件")
    private String signedFile;

    /** 被交底人签字时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "被交底人签字时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date signedTime;

    /** 删除标志（1代表存在 0代表删除） */
    private String delFlag;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }

    public void setProjectId(Long projectId) 
    {
        this.projectId = projectId;
    }

    public Long getProjectId() 
    {
        return projectId;
    }

    public void setProjectName(String projectName) 
    {
        this.projectName = projectName;
    }

    public String getProjectName() 
    {
        return projectName;
    }

    public void setSafetyNo(String safetyNo) 
    {
        this.safetyNo = safetyNo;
    }

    public String getSafetyNo() 
    {
        return safetyNo;
    }

    public void setSafetyName(String safetyName) 
    {
        this.safetyName = safetyName;
    }

    public String getSafetyName() 
    {
        return safetyName;
    }

    public void setContractorId(Long contractorId) 
    {
        this.contractorId = contractorId;
    }

    public Long getContractorId() 
    {
        return contractorId;
    }

    public void setContractorName(String contractorName) 
    {
        this.contractorName = contractorName;
    }

    public String getContractorName() 
    {
        return contractorName;
    }

    public void setContractorLeader(String contractorLeader) 
    {
        this.contractorLeader = contractorLeader;
    }

    public String getContractorLeader() 
    {
        return contractorLeader;
    }

    public void setOwnerName(String ownerName) 
    {
        this.ownerName = ownerName;
    }

    public String getOwnerName() 
    {
        return ownerName;
    }

    public void setOwnerLeader(String ownerLeader) 
    {
        this.ownerLeader = ownerLeader;
    }

    public String getOwnerLeader() 
    {
        return ownerLeader;
    }

    public void setContent(String content) 
    {
        this.content = content;
    }

    public String getContent() 
    {
        return content;
    }

    public void setSignUserId(Long signUserId) 
    {
        this.signUserId = signUserId;
    }

    public Long getSignUserId() 
    {
        return signUserId;
    }

    public void setSignStatus(String signStatus) 
    {
        this.signStatus = signStatus;
    }

    public String getSignStatus() 
    {
        return signStatus;
    }

    public void setSignFile(String signFile) 
    {
        this.signFile = signFile;
    }

    public String getSignFile() 
    {
        return signFile;
    }

    public void setSignTime(Date signTime) 
    {
        this.signTime = signTime;
    }

    public Date getSignTime() 
    {
        return signTime;
    }

    public void setSignedUserId(Long signedUserId) 
    {
        this.signedUserId = signedUserId;
    }

    public Long getSignedUserId() 
    {
        return signedUserId;
    }

    public void setSignedStatus(String signedStatus) 
    {
        this.signedStatus = signedStatus;
    }

    public String getSignedStatus() 
    {
        return signedStatus;
    }

    public void setSignedFile(String signedFile) 
    {
        this.signedFile = signedFile;
    }

    public String getSignedFile() 
    {
        return signedFile;
    }

    public void setSignedTime(Date signedTime) 
    {
        this.signedTime = signedTime;
    }

    public Date getSignedTime() 
    {
        return signedTime;
    }

    public void setDelFlag(String delFlag) 
    {
        this.delFlag = delFlag;
    }

    public String getDelFlag() 
    {
        return delFlag;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("projectId", getProjectId())
            .append("projectName", getProjectName())
            .append("safetyNo", getSafetyNo())
            .append("safetyName", getSafetyName())
            .append("contractorId", getContractorId())
            .append("contractorName", getContractorName())
            .append("contractorLeader", getContractorLeader())
            .append("ownerName", getOwnerName())
            .append("ownerLeader", getOwnerLeader())
            .append("content", getContent())
            .append("signUserId", getSignUserId())
            .append("signStatus", getSignStatus())
            .append("signFile", getSignFile())
            .append("signTime", getSignTime())
            .append("signedUserId", getSignedUserId())
            .append("signedStatus", getSignedStatus())
            .append("signedFile", getSignedFile())
            .append("signedTime", getSignedTime())
            .append("delFlag", getDelFlag())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}
